package com.example.generator.entity;

import cn.hutool.core.date.DateUtil;
import lombok.Data;

import java.util.List;

/**
 * @author：QPX
 * @date：2024-01-26-13:59
 * @remark：后续会根据该类生成实体类
 */

@Data
public class TableInfo {
    /**
     * 接收的表名
     */
    public String name;
    /**
     * 接收过滤表名前缀
     */
    private String tableFilterPrefix;

    /**
     * 是否使用注解生成
     */
    private Boolean importClass;


    /**
     * 生成bean的名称
     */
    public String beanName;
    /**
     * 生成bean的名称的小写用来注入
     */
    public String somallbeanName;
    /**
     * 列
     */
    private List<FieldInfo> fieldList;
    /**
     * 备注
     */
    private String comment;


    /**
     * 实体类所在包路径
     */
    private String entityClassPackage;
    /**
     * Mapper所在包路径
     */
    private String mapperClassPackage;
    /**
     * Service所在包路径
     */
    private String serviceClassPackage;
    /**
     * ServiceImp所在包路径
     */
    private String serviceImplClassPackage;
    /**
     * ServiceImp所在包路径
     */
    private String controllerClassPackage;
    /**
     * R所在包路径
     */
    private String reClassPackage;
    /**
     * vo所在包路径
     */
    private String voClassPackage;
    /**
     * mybatisPlusConfig所在包路径
     */
    private String mybatisPlusClassPackage;
    /**
     * ExcelImport所在包路径
     */
    private String excelImportClassPackage;


    /**
     * 是否生成查询方法
     */
    private Boolean isGeneratorSelect;
    /**
     * 是否生成新增方法
     */
    private Boolean isGeneratorSave;
    /**
     * 是否生成更新方法
     */
    private Boolean isGeneratorUpdate;
    /**
     * 是否生成删除方法
     */
    private Boolean isGeneratorDelete;
    /**
     * 逻辑删除字段，为空则不进行逻辑删除（0：存在，1：删除）
     */
    private String isGeneratorDeleteL;
    /**
     * 是否生成Excel导入
     */
    private Boolean isGeneratorExcelImport;
    /**
     * 是否生成Excel导出
     */
    private Boolean isGeneratorExcelDown;


    /**
     * 生成新文件地址
     */
    private String generatorUrl;
    /**
     * 生成新文件名
     */
    private String generatorName;
    /**
     * xml生成路径
     */
    private String mapperXmlUrl;
    /**
     * 生成时间
     */
    private String date = DateUtil.now();
    /**
     * 作者
     */
    private String author;


    /**
     * 条件查询
     */
    private List<SelectCustomCondition> selectCustomConditionList;
    /**
     * 条件查询方法名设置
     */
    private String selectCustomWay;


    /**
     * excel条件查询
     */
    private List<SelectCustomCondition> selectCustomConditionExcelList;


    /**
     * 是否生成自定义查询方法
     */
    private Boolean isSelectCustom;
    /**
     * 排序
     */
    private OrderBy orderBy;

}
